#ifndef __NFC_HAL_DPO_H_
#define __NFC_HAL_DPO_H_


#include <stdbool.h>
#include "nfc_hal_config.h"
#include <stdio.h>

#define LOW    0
#define HIGH   1


typedef struct {
    uint8_t       ThresholdCW;
    uint8_t       ThresholdGsp_Max;
    uint8_t       ThresholdGsp_Min;
    uint8_t       AdjustCnt;
    uint8_t       StepGsp;
    uint8_t       CurrentGsp;
    uint8_t       OriginGsp;
    uint8_t       RTuneAdjust;
    uint8_t       (*DPO_Method)(void);
} rfalDPOProcess;

typedef struct {
    void            (*DPO_Method)(void);



} rfalDPOAlgorithm;

extern rfalDPOProcess RFalDPOParam;


bool get_rf_status(void);
bool dpo_feature_on(void);
bool dpo_feature_off(void);

void rf_dpo_switch(bool IsEn);
uint8_t rf_dpo_algorithm_antenna(void);
uint8_t rf_dpo_algorithm_emc(void);

static uint8_t get_lpcd_adc_data(void);

static void dpo_set_field_strength(rfalDPOProcess DPOParamSetting);
uint8_t  optimum_setting_gsp(uint8_t adjuststep);

#endif



